package cn.com.cdb.ldms.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface V {
    /**
     * 非空校验
     *
     * @return
     */
    boolean notNull() default false;

    /**
     * 最小长度
     *
     * @return
     */
    int minLength() default -1;

    /**
     * 最大长度
     *
     * @return
     */
    int maxLength() default -1;

    /**
     * 正则表达式
     *
     * @return
     */
    String regex() default "";

    /**
     * 匹配枚举值，逗号隔开
     *
     * @return
     */
    String in() default "";

    /**
     * 必须是数字
     */
    boolean digit() default false;

    /**
     * 校验描述
     *
     * @return
     */
    String desc() default "参数错误"; // 错误提示
}
